home *** CD-ROM | disk | FTP | other *** search
/ Micromanía 92 / CDMM92_1.ISO / SOF 2 SDK / sof2sdk-101.msi / _92D6AC311BB48EBA344BBABC89DA6AB0 / _27AAB63A7D1144EDA692C01D3244FAE8 < prev    next >
Encoding:
Text File  |  2002-04-22  |  2.6 KB  |  107 lines

  1. #ifndef G2_GORE_SHARED
  2. #define G2_GORE_SHARED
  3.  
  4. // these are the actual shaders
  5. typedef enum {
  6.     PGORE_NONE,
  7.     PGORE_ARMOR,
  8.     PGORE_BULLETBIG,
  9.     PGORE_KNIFESLASH,
  10.     PGORE_PUNCTURE,
  11.     PGORE_SHOTGUN,
  12.     PGORE_SHOTGUNBIG,
  13.     PGORE_IMMOLATE,
  14.     PGORE_BURN,
  15.     PGORE_SPURT,
  16.     PGORE_SPLATTER,
  17.     PGORE_BLOODY_GLASS,
  18.     PGORE_BLOODY_GLASS_B,
  19.     PGORE_BLOODY_ICK,
  20.     PGORE_BLOODY_DROOP,
  21.     PGORE_BLOODY_MAUL,
  22.     PGORE_BLOODY_DROPS,
  23.     PGORE_BULLET_E,
  24.     PGORE_BULLET_F,
  25.     PGORE_BULLET_G,
  26.     PGORE_BULLET_H,
  27.     PGORE_BULLET_I,
  28.     PGORE_BULLET_J,
  29.     PGORE_BULLET_K,
  30.     PGORE_BLOODY_HAND,
  31.     PGORE_POWDER_BURN_DENSE,
  32.     PGORE_POWDER_BURN_CHUNKY,
  33.     PGORE_KNIFESLASH2,
  34.     PGORE_KNIFESLASH3,
  35.     PGORE_CHUNKY_SPLAT,
  36.     PGORE_BIG_SPLATTER,
  37.     PGORE_BLOODY_SPLOTCH,
  38.     PGORE_BLEEDER,
  39.     PGORE_PELLETS,
  40.     PGORE_KNIFE_SOAK,
  41.     PGORE_BLEEDER_DENSE,
  42.     PGORE_BLOODY_SPLOTCH2,
  43.     PGORE_BLOODY_DRIPS,
  44.     PGORE_DRIPPING_DOWN,
  45.     PGORE_GUTSHOT,
  46.     PGORE_SHRAPNEL,
  47.     PGORE_COUNT
  48. } goreEnum_t;
  49.  
  50. struct goreEnumShader_t
  51. {
  52.     int                maxLODBias;   //if r_lodBias (and the other 3 convars) =x then shaders with this larger than x will not be used
  53.     goreEnum_t        shaderEnum;  // why is this even in here?
  54.     char            shaderName[MAX_QPATH];
  55. };
  56.  
  57. typedef struct SSkinGoreData_s
  58. {
  59.     vec3_t            angles;
  60.     vec3_t            position;
  61.     int                currentTime;
  62.     int                entNum;
  63.     vec3_t            rayDirection;    // in world space
  64.     vec3_t            hitLocation;    // in world space
  65.     vec3_t            scale;
  66.     float            SSize;            // size of splotch in the S texture direction in world units
  67.     float            TSize;            // size of splotch in the T texture direction in world units
  68.     float            theta;            // angle to rotate the splotch
  69.  
  70.     // growing stuff
  71.     int                growDuration;            // time over which we want this to scale up, set to -1 for no scaling
  72.     float            goreScaleStartFraction; // fraction of the final size at which we want the gore to initially appear
  73.  
  74.     qboolean        frontFaces;
  75.     qboolean        backFaces;
  76.     qboolean        baseModelOnly;
  77.     int                lifeTime;                // effect expires after this amount of time
  78.     int                fadeOutTime;            // unimplemented
  79.     int                shrinkOutTime;            // unimplemented
  80.     float            alphaModulate;            // unimplemented
  81.     vec3_t            tint;                    // unimplemented
  82.     float            impactStrength;            // unimplemented
  83.  
  84.     goreEnum_t        shaderEnum; // enum that'll get switched over to the shader's actual handle 
  85.  
  86.     int                myIndex; // used internally
  87.  
  88.     /*
  89.     // Constructor for the CPP version of this struct in SP.
  90.     SSkinGoreData()
  91.     {
  92.         growDuration=-1;
  93.         goreScaleStartFraction=1.0f;
  94.         frontFaces=true;
  95.         backFaces=true;
  96.         theta=0.0f;
  97.         SSize=0.0f;
  98.         TSize=0.0f;
  99.         lifeTime=0;
  100.         baseModelOnly=false;
  101.     }
  102.     */
  103. } SSkinGoreData;
  104.  
  105. #endif //G2_GORE_SHARED
  106.  
  107.